Skip to content

fix(#1349 post-merge): B-0142 migration concerns + scope clarification (4 review threads absorbed)#1356

Merged
AceHack merged 2 commits intomainfrom
backlog/B-0142-followup-migration-concerns-warnings-as-errors
May 3, 2026
Merged

fix(#1349 post-merge): B-0142 migration concerns + scope clarification (4 review threads absorbed)#1356
AceHack merged 2 commits intomainfrom
backlog/B-0142-followup-migration-concerns-warnings-as-errors

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 3, 2026

Summary

Four substantive post-merge review findings on B-0142 absorbed via new "Migration concerns + scope clarification" section.

Findings absorbed

  1. Existing `invalidArg` / exception-based code in `src/Core/`** (line 24) — programmer-error preconditions use F# idiom (`invalidArg`); CLAUDE.md Result-over-exception applies to user-visible failures. Scope refinement: B-0142 targets recoverable user-facing failures (Result-flow); programmer-error preconditions stay as `invalidArg` until separate decision migrates them. No blanket-ban exceptions.

  2. Plain-returning APIs (`bool`, `Stream`, `ValueTask`) (line 55) — contract primitives returning `Result` aren't drop-in. Scope refinement: two-mode primitive — `requires_result()` (Result-returning) vs `requires_assert()` (assertion-only).

  3. `TreatWarningsAsErrors=true` makes warning vs error a false dichotomy (line 91). Scope refinement: contract-layer severity field; build-gate disposition is uniform (any reaching build = break); per-contract-class CI gating is separate future design question.

  4. Dangling memo reference (line 75) — `memory/parallelism-scaling-ladder memo` replaced with full filename for grep-ability.

Why this matters

These are all real compatibility concerns that affect future B-0142 implementation. The original row's spec admitted scope-creep that conflicted with existing F# idiom. Refining the scope keeps B-0142 viable as durable backlog substrate without forcing repo-wide signature churn.

Test plan

  • markdownlint passes locally
  • New "Migration concerns + scope clarification" section preserves the original spec while narrowing scope
  • Open-design-questions updated with build-gate disposition (replacing warning-vs-error false dichotomy)
  • Dangling memo path replaced with full filename

…n (4 review threads absorbed)

Four substantive post-merge review findings on B-0142:

1. Existing invalidArg/exception-based code in src/Core/** —
   programmer-error preconditions historically use exceptions in F#
   idiom; CLAUDE.md Result-over-exception applies to user-visible
   failures. Scope refinement: B-0142 targets recoverable user-facing
   failures (Result-flow); programmer-error preconditions stay as
   invalidArg until a separate decision migrates them. NO blanket-ban
   exceptions.

2. Plain-returning APIs (bool/Stream/ValueTask) — contract primitives
   returning Result aren't drop-in. Scope refinement: two-mode
   primitive — requires_result() (Result-returning) vs requires_assert()
   (assertion-only).

3. TreatWarningsAsErrors=true makes warning vs error a false dichotomy.
   Scope refinement: contract-layer severity field; build-gate
   disposition is uniform (any reaching build = break); per-contract-
   class CI gating is separate future design question.

4. Dangling reference: memory/parallelism-scaling-ladder memo replaced
   with full filename for grep-ability.

New "Migration concerns + scope clarification" section absorbs the
findings. Open-design-questions updated with build-gate disposition
question replacing the warning-vs-error false dichotomy.
Copilot AI review requested due to automatic review settings May 3, 2026 08:11
@AceHack AceHack enabled auto-merge (squash) May 3, 2026 08:11
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 849ee4edd9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “Migration concerns + scope clarification” section to backlog row B-0142 to absorb post-merge review feedback and narrow the intended contract-mechanization scope without forcing repo-wide signature churn.

Changes:

  • Replaces a vague memo reference with a full memory/... filename for grep-ability.
  • Introduces a new section documenting migration concerns and refining scope around invalidArg, Result-flow, plain-returning APIs, and TreatWarningsAsErrors.
  • Updates the open design questions to reflect the clarified build-gate framing.

… no-throw rule explicitly to recoverable-user-facing-failures + Stream type precision
@AceHack AceHack merged commit df908d5 into main May 3, 2026
22 checks passed
@AceHack AceHack deleted the backlog/B-0142-followup-migration-concerns-warnings-as-errors branch May 3, 2026 08:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants